home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / SmallEiffel 0.3.3 / SmallEiffel PPC / diff / lib_std < prev    next >
Encoding:
Text File  |  1996-06-13  |  18.1 KB  |  708 lines  |  [TEXT/EDIT]

  1. Only in /users/prof/colnet/SmallEiffel/lib_std: NEWcharacter_ref.e
  2. diff -r lib_std/array.e /users/prof/colnet/SmallEiffel/lib_std/array.e
  3. 9c9,12
  4. < inherit COLLECTION[E];
  5. ---
  6. > inherit 
  7. >    COLLECTION[E]
  8. >       redefine eval_read_attribute, eval_write_attribute
  9. >       end;
  10. 42c45
  11. <      capacity := upper - lower + 1;
  12. ---
  13. >      capacity := maxindex - minindex + 1;
  14. 44c47
  15. <         capacity := capacity + 16;
  16. ---
  17. >         if capacity < 16 then capacity := 16 end;
  18. 88,91c91
  19. <       do
  20. <      if storage = Void then end;
  21. <      if lower = Void then end;
  22. <      c_inline_c("R=(((C->_storage))[a1-(C->_lower)]);")
  23. ---
  24. >       external "CSE"
  25. 97,101c97
  26. <      -- Put `element' at position `index'.
  27. <       do
  28. <      if storage = Void then end;
  29. <      if lower = Void then end;
  30. <      c_inline_c("((C->_storage)[a2-(C->_lower)])=a1;");
  31. ---
  32. >       external "CSE"
  33. 322a319,334
  34. > feature -- Interfacing with C :
  35. >    
  36. >    to_external: POINTER is
  37. >      -- Gives C access into the internal `storage' of the ARRAY.
  38. >      -- Result is pointing the element at index `lower'.
  39. >      -- 
  40. >      -- NOTE: do not free/realloc the Result. Resizing of the array 
  41. >      --       can makes this pointer invalid. 
  42. >       require
  43. >      not empty
  44. >       do
  45. >      Result := storage;
  46. >       ensure
  47. >      Result.is_not_void
  48. >       end;
  49. 327a340,341
  50. >       local
  51. >      x: like item;
  52. 329c343
  53. <      c_inline_c("R=malloc((size_t)(a1*sizeof(*(C->_storage))));");
  54. ---
  55. >      c_inline_c("R=malloc((size_t)(a1*sizeof(_x)));");
  56. 334a349,350
  57. >       local
  58. >      x: like item;
  59. 336,337c352
  60. <      c_inline_c("R=realloc(a1,%
  61. <              %((size_t)(a2*sizeof(*(C->_storage)))));");
  62. ---
  63. >      c_inline_c("R=realloc(a1,((size_t)(a2*sizeof(_x))));");
  64. 351a367,400
  65. >       end;
  66. > feature -- To implement eval :
  67. >    
  68. >    eval_read_attribute(name: STRING; dest: POINTER) is
  69. >       do 
  70. >      if ("capacity").is_equal(name) then
  71. >         eval_virtual_machine.put_integer(dest,capacity);
  72. >      elseif ("lower").is_equal(name) then
  73. >         eval_virtual_machine.put_integer(dest,lower);
  74. >      elseif ("upper").is_equal(name) then
  75. >         eval_virtual_machine.put_integer(dest,upper);
  76. >      else
  77. >         check
  78. >            ("storage").is_equal(name)
  79. >         end;
  80. >         eval_virtual_machine.put_pointer(dest,storage);
  81. >      end;
  82. >       end;
  83. >    eval_write_attribute(name: STRING; source: POINTER) is
  84. >       do 
  85. >      if ("capacity").is_equal(name) then
  86. >         capacity := eval_virtual_machine.get_integer(source);
  87. >      elseif ("lower").is_equal(name) then
  88. >         lower := eval_virtual_machine.get_integer(source);
  89. >      elseif ("upper").is_equal(name) then
  90. >         upper := eval_virtual_machine.get_integer(source);
  91. >      else
  92. >         check
  93. >            ("storage").is_equal(name)
  94. >         end;
  95. >         storage := eval_virtual_machine.get_pointer(source);
  96. >      end;
  97. diff -r lib_std/array.e /users/prof/colnet/SmallEiffel/lib_std/array.elib_std/array2.e /users/prof/colnet/SmallEiffel/lib_std/array2.e
  98. 7,8c7,8
  99. <    ANY 
  100. <       redefine copy, is_equal 
  101. ---
  102. >    ANY
  103. >       redefine copy, is_equal, fill_tagged_out_memory
  104. 11,12c11
  105. < creation {ANY}
  106. <    make, array2
  107. ---
  108. > creation make, array2
  109. 18c17
  110. < feature {ANY}
  111. ---
  112. > feature 
  113. 77c76
  114. < feature {ANY}
  115. ---
  116. > feature 
  117. 152c151
  118. < feature {ANY}
  119. ---
  120. > feature 
  121. 271c270
  122. <      lower2 = u2;
  123. ---
  124. >      lower2 = l2;
  125. 330c329
  126. < feature {ANY} -- Other features :
  127. ---
  128. > feature -- Other features :
  129. 389a389,396
  130. >       end;
  131. > feature -- Object Printing :
  132. >    fill_tagged_out_memory is
  133. >       do
  134. >      tagged_out_memory.append("storage: "); 
  135. >      storage.out_in_tagged_out_memory;
  136. Only in /users/prof/colnet/SmallEiffel/lib_std: basic_ref.e
  137. diff -r lib_std/array2.e /users/prof/colnet/SmallEiffel/lib_std/array2.elib_std/boolean.e /users/prof/colnet/SmallEiffel/lib_std/boolean.e
  138. 13c13
  139. <      prefix "not", to_string, to_integer
  140. ---
  141. >      prefix "not", to_string, to_integer, fill_tagged_out_memory
  142. 84a85,91
  143. >       end;
  144. > feature -- Object Printing :
  145. >    fill_tagged_out_memory is
  146. >       do
  147. >      tagged_out_memory.append(to_string);
  148. diff -r lib_std/boolean.e /users/prof/colnet/SmallEiffel/lib_std/boolean.elib_std/character.e /users/prof/colnet/SmallEiffel/lib_std/character.e
  149. 12c12
  150. <      code, to_lower, to_upper, print_on
  151. ---
  152. >      code, to_lower, to_upper, fill_tagged_out_memory
  153. 146c146,148
  154. <    print_on(file: STD_FILE_WRITE) is
  155. ---
  156. > feature -- Object Printing :
  157. >    fill_tagged_out_memory is
  158. 148,150c150,152
  159. <      file.put_character('%'');
  160. <      file.put_character(Current);
  161. <      file.put_character('%'');
  162. ---
  163. >      tagged_out_memory.extend('%'');
  164. >      tagged_out_memory.extend(Current);
  165. >      tagged_out_memory.extend('%'');
  166. diff -r lib_std/character.e /users/prof/colnet/SmallEiffel/lib_std/character.elib_std/character_ref.e /users/prof/colnet/SmallEiffel/lib_std/character_ref.e
  167. 6c6,9
  168. < inherit COMPARABLE redefine infix "<", compare end;
  169. ---
  170. > inherit
  171. >    COMPARABLE 
  172. >       redefine infix "<", compare, fill_tagged_out_memory
  173. >       end;
  174. 56a60,67
  175. >       end;
  176. > feature -- Object Printing :
  177. >    fill_tagged_out_memory is
  178. >       do
  179. >      tagged_out_memory.append("item: "); 
  180. >      item.fill_tagged_out_memory;
  181. diff -r lib_std/character_ref.e /users/prof/colnet/SmallEiffel/lib_std/character_ref.elib_std/collection.e /users/prof/colnet/SmallEiffel/lib_std/collection.e
  182. 58c58
  183. <    first: E is
  184. ---
  185. >    first: like item is
  186. 65c65
  187. <    last: E is
  188. ---
  189. >    last: like item is
  190. 74c74
  191. <    put(element: E; index: INTEGER) is
  192. ---
  193. >    put(element: like item; index: INTEGER) is
  194. 88,89c88
  195. <      tmp: E;
  196. <      -- *** WHAT ABOUT like item ?
  197. ---
  198. >      tmp: like item;
  199. 99c98
  200. <    set_all_with(v: E) is
  201. ---
  202. >    set_all_with(v: like item) is
  203. 116c115
  204. <    set_slice_with(v: E; lower_index, upper_index: INTEGER) is
  205. ---
  206. >    set_slice_with(v: like item; lower_index, upper_index: INTEGER) is
  207. 140c139
  208. <      value: E;
  209. ---
  210. >      value: like item;
  211. 149c148
  212. <    has(x: E): BOOLEAN is
  213. ---
  214. >    has(x: like item): BOOLEAN is
  215. 155c154
  216. <    fast_has(x: E): BOOLEAN is
  217. ---
  218. >    fast_has(x: like item): BOOLEAN is
  219. 161c160
  220. <    index_of(x: E): INTEGER is
  221. ---
  222. >    index_of(x: like item): INTEGER is
  223. 178c177
  224. <    fast_index_of(x: E): INTEGER is
  225. ---
  226. >    fast_index_of(x: like item): INTEGER is
  227. 200c199
  228. <      e1, e2: E;
  229. ---
  230. >      e1, e2: like item;
  231. 221c220
  232. <      value: E;
  233. ---
  234. >      value: like item;
  235. 228c227
  236. <         i > upper
  237. ---
  238. >         not Result or else i > upper
  239. 231,235c230
  240. <         if Result then
  241. <            i := i + 1;
  242. <         else
  243. <            i := upper + 1;
  244. <         end;
  245. ---
  246. >         i := i + 1;
  247. 239c234
  248. <    nb_occurrences(elt: E): INTEGER is
  249. ---
  250. >    nb_occurrences(elt: like item): INTEGER is
  251. 260c255
  252. <    fast_nb_occurrences(elt: E): INTEGER is
  253. ---
  254. >    fast_nb_occurrences(elt: like item): INTEGER is
  255. 279c274
  256. < feature -- Printing :
  257. ---
  258. > feature -- Object Printing :
  259. 286c281
  260. <      tagged_out_memory.append("lower = "); 
  261. ---
  262. >      tagged_out_memory.append("lower: "); 
  263. 288c283
  264. <      tagged_out_memory.append(" upper = "); 
  265. ---
  266. >      tagged_out_memory.append(" upper: "); 
  267. 297,298c292,293
  268. <         if v.is_expanded_type then
  269. <            v.fill_tagged_out_memory;
  270. ---
  271. >         if v = Void then
  272. >            tagged_out_memory.append("Void");
  273. 300c295
  274. <            v.fill_tagged_out_memory;
  275. ---
  276. >            v.out_in_tagged_out_memory;
  277. 322c317
  278. <    replace_all(x, r: E) is
  279. ---
  280. >    replace_all(x, r: like item) is
  281. 338c333
  282. <    fast_replace_all(x, r: E) is
  283. ---
  284. >    fast_replace_all(x, r: like item) is
  285. 365c360
  286. <      default_value: E;
  287. ---
  288. >      default_value: like item;
  289. 393c388
  290. <    equal_like(e1, e2: E): BOOLEAN is
  291. ---
  292. >    equal_like(e1, e2: like item): BOOLEAN is
  293. 398,403c393,396
  294. <      if e1.is_expanded_type then
  295. <         Result := e1 = e2 or else e1.is_equal(e2);
  296. <         --        *******
  297. <         -- Problem with post-condition of ELKS standard_is_equal.
  298. <         -- same_type is always false when receiver is an expanded 
  299. <         -- type.
  300. ---
  301. >      if e1.is_basic_expanded_type then
  302. >         Result := e1 = e2;
  303. >      elseif e1.is_expanded_type then
  304. >         Result := e1.is_equal(e2);
  305. diff -r lib_std/collection.e /users/prof/colnet/SmallEiffel/lib_std/collection.elib_std/comparable.e /users/prof/colnet/SmallEiffel/lib_std/comparable.e
  306. 10c10,14
  307. < inherit ANY redefine is_equal end;
  308. ---
  309. > inherit 
  310. >    ANY 
  311. >       redefine 
  312. >      is_equal 
  313. >       end;
  314. 12c16
  315. < feature {ANY}
  316. ---
  317. > feature 
  318. diff -r lib_std/comparable.e /users/prof/colnet/SmallEiffel/lib_std/comparable.elib_std/double.e /users/prof/colnet/SmallEiffel/lib_std/double.e
  319. 13c13
  320. <      compare, one, zero
  321. ---
  322. >      compare, one, zero, fill_tagged_out_memory
  323. 221a222,228
  324. > feature -- Object Printing :
  325. >    fill_tagged_out_memory is
  326. >       do
  327. >      Current.append_in(tagged_out_memory);
  328. >       end;
  329. diff -r lib_std/double.e /users/prof/colnet/SmallEiffel/lib_std/double.elib_std/double_ref.e /users/prof/colnet/SmallEiffel/lib_std/double_ref.e
  330. 14c14
  331. <      infix "<", compare
  332. ---
  333. >      infix "<", compare, fill_tagged_out_memory
  334. 102a103,110
  335. >       end;
  336. > feature -- Object Printing :
  337. >    fill_tagged_out_memory is
  338. >       do
  339. >      tagged_out_memory.append("item: "); 
  340. >      item.fill_tagged_out_memory;
  341. diff -r lib_std/double_ref.e /users/prof/colnet/SmallEiffel/lib_std/double_ref.elib_std/fixed_array.e /users/prof/colnet/SmallEiffel/lib_std/fixed_array.e
  342. 42,43d41
  343. <       local
  344. <      model: like item;
  345. 46c44
  346. <         storage := realloc(storage,size,model);
  347. ---
  348. >         storage := realloc(storage,size);
  349. 48c46
  350. <         storage := malloc(size,model);
  351. ---
  352. >         storage := malloc(size);
  353. 79,81c77
  354. <       do
  355. <      if storage = Void then end;
  356. <      c_inline_c("R=((C->_storage)[a1]);")
  357. ---
  358. >       external "CSE"
  359. 87,88c83
  360. <       do
  361. <      c_inline_c("((C->_storage)[a2])=a1;");
  362. ---
  363. >       external "CSE"
  364. 175a171,186
  365. > feature -- Interfacing with C :
  366. >    
  367. >    to_external: POINTER is
  368. >      -- Gives C access into the internal `storage' of the ARRAY.
  369. >      -- Result is pointing the element at index `lower'.
  370. >      -- 
  371. >      -- NOTE: do not free/realloc the Result. Resizing of the array 
  372. >      --       can makes this pointer invalid. 
  373. >       require
  374. >      not empty
  375. >       do
  376. >      Result := storage;
  377. >       ensure
  378. >      Result.is_not_void
  379. >       end;
  380. 178c189
  381. <    malloc(size: INTEGER; model: like item): POINTER is
  382. ---
  383. >    malloc(size: INTEGER): POINTER is
  384. 180a192,193
  385. >       local
  386. >      x: like item;
  387. 182c195
  388. <      c_inline_c("R=malloc((size_t)(a1*sizeof(a2)));");
  389. ---
  390. >      c_inline_c("R=malloc((size_t)(a1*sizeof(_x)));");
  391. 185c198
  392. <    realloc(pointer: POINTER; size: INTEGER; model: like item): POINTER is
  393. ---
  394. >    realloc(pointer: POINTER; size: INTEGER): POINTER is
  395. 187a201,202
  396. >       local
  397. >      x: like item;
  398. 189c204
  399. <      c_inline_c("R=realloc(a1,(size_t)(a2*sizeof(a3)));");
  400. ---
  401. >      c_inline_c("R=realloc(a1,(size_t)(a2*sizeof(_x)));");
  402. diff -r lib_std/fixed_array.e /users/prof/colnet/SmallEiffel/lib_std/fixed_array.elib_std/general.e /users/prof/colnet/SmallEiffel/lib_std/general.e
  403. 166,167c166,167
  404. <      -- When argument `other' is Void, call `twin' otherwise 
  405. <      -- return Void. 
  406. ---
  407. >      -- When argument `other' is Void, return Void
  408. >      -- otherwise return `other.twin'.
  409. 190,191c190
  410. <         c_inline_c("R=(T0 *)se_new(C->id);");
  411. <         c_inline_c("AF_1");
  412. ---
  413. >         c_inline_c("R=(T0 *)se_new(C->id);AF_1");
  414. 280c279
  415. < feature -- Output :
  416. ---
  417. > feature -- Input and Output :
  418. 309,316c308,310
  419. <    out: STRING is
  420. <      -- New string containing terse printable representation 
  421. <      -- of current object;
  422. <       do
  423. <      not_yet_implemented;
  424. <       end;
  425. <    
  426. <    frozen print(some: GENERAL) is
  427. ---
  428. > feature -- Object Printing :
  429. >    print(some: GENERAL) is
  430. 318,321c312,316
  431. <      -- `standard_output'. This routine is called to print
  432. <      -- the stack when a `crash' occurs. Thus, user can redefine
  433. <      -- `print_on' or `print_attributes_on' to adapt printing 
  434. <      -- of run time stack. 
  435. ---
  436. >      -- `standard_output'.
  437. >      -- This routine is automatically called to print the stack
  438. >      -- when system `crash'. As user can redefine `print', 
  439. >      -- `print_on' or `fill_tagged_out_memory', it is better to 
  440. >      --  be sure not to have a second `crash'. 
  441. 331,333c326
  442. <      -- Default printing for reference target.
  443. <      --     
  444. <      -- Note : this routine is used to print stack when `crash'.
  445. ---
  446. >      -- Default printing of current object.
  447. 335,346c328,329
  448. <      file.put_string(generating_type);
  449. <      file.put_character('#');
  450. <      file.put_integer(object_id);
  451. <      file.put_character('[');
  452. <      print_attributes_on(file);
  453. <      file.put_character(']');
  454. <       end;
  455. <    
  456. <    print_attributes_on(file: STD_FILE_WRITE) is
  457. <       do 
  458. <            tagged_out_memory.clear;
  459. <      fill_tagged_out_memory;
  460. ---
  461. >      tagged_out_memory.clear;
  462. >      out_in_tagged_out_memory;
  463. 349c332
  464. <    
  465. ---
  466. 357c340
  467. <      Result := clone(tagged_out_memory);
  468. ---
  469. >      Result := tagged_out_memory.twin;
  470. 359a343,369
  471. >    out: STRING is
  472. >      -- Create a new string containing terse printable 
  473. >      -- representation of current object;
  474. >       do
  475. >      tagged_out_memory.clear;
  476. >      out_in_tagged_out_memory;
  477. >      Result := tagged_out_memory.twin;
  478. >       end;
  479. >    
  480. >    out_in_tagged_out_memory is
  481. >       -- Append terse printable represention of current object
  482. >       -- in `tagged_out_memory';
  483. >       do
  484. >      if is_basic_expanded_type then
  485. >         fill_tagged_out_memory;
  486. >      else
  487. >         tagged_out_memory.append(generating_type);
  488. >         if not is_expanded_type then
  489. >            tagged_out_memory.extend('#');
  490. >            object_id.append_in(tagged_out_memory);
  491. >         end;
  492. >         tagged_out_memory.extend('[');
  493. >         fill_tagged_out_memory;
  494. >         tagged_out_memory.extend(']');
  495. >      end;
  496. >       end;
  497. >    
  498. 365a376,377
  499. >      -- Note : can be redefine to change printing of stack
  500. >      --        when system crash.
  501. 482c494
  502. <    crash is
  503. ---
  504. >    frozen crash is
  505. 491c503
  506. <    die_with_code(code:INTEGER) is
  507. ---
  508. >    frozen die_with_code(code:INTEGER) is
  509. diff -r lib_std/general.e /users/prof/colnet/SmallEiffel/lib_std/general.elib_std/integer.e /users/prof/colnet/SmallEiffel/lib_std/integer.e
  510. 14c14
  511. <      one, zero, print_on
  512. ---
  513. >      one, zero, fill_tagged_out_memory
  514. 153,157d152
  515. <    print_on(file: STD_FILE_WRITE) is
  516. <       do
  517. <      file.put_integer(Current);
  518. <       end;
  519. <    
  520. 300a296,302
  521. > feature -- Object Printing :
  522. >    fill_tagged_out_memory is
  523. >       do
  524. >      Current.append_in(tagged_out_memory);
  525. >       end;
  526. diff -r lib_std/integer.e /users/prof/colnet/SmallEiffel/lib_std/integer.elib_std/numeric.e /users/prof/colnet/SmallEiffel/lib_std/numeric.e
  527. 9c9,12
  528. < inherit ANY undefine is_equal end;
  529. ---
  530. > inherit
  531. >    ANY 
  532. >       undefine is_equal
  533. >       end;
  534. 11c14
  535. < feature {ANY} 
  536. ---
  537. > feature  
  538. 13c16
  539. <    infix "+" (other : like Current) : like Current is
  540. ---
  541. >    infix "+" (other: like Current): like Current is
  542. 20c23
  543. <    infix "-" (other : like Current) : like Current is
  544. ---
  545. >    infix "-" (other: like Current): like Current is
  546. 27c30
  547. <    infix "*" (other : like Current) : like Current is
  548. ---
  549. >    infix "*" (other: like Current): like Current is
  550. 42c45
  551. <    infix "^" (exp : INTEGER) : like Current is
  552. ---
  553. >    infix "^" (exp: INTEGER): like Current is
  554. 47,49c50,52
  555. <      e       : INTEGER;
  556. <      product : like Current;
  557. <      factor  : like Current;
  558. ---
  559. >      e      : INTEGER;
  560. >      product: like Current;
  561. >      factor : like Current;
  562. 79c82
  563. <    valid_divisor(other: like Current) : BOOLEAN is
  564. ---
  565. >    valid_divisor(other: like Current): BOOLEAN is
  566. 86c89
  567. <    one : like Current is
  568. ---
  569. >    one: like Current is
  570. 90c93
  571. <      neutral_element : -- Result is the neutral element of 
  572. ---
  573. >      neutral_element: -- Result is the neutral element of 
  574. 98c101
  575. <      neutral_element : -- Result is the neutral element of 
  576. ---
  577. >      neutral_element: -- Result is the neutral element of 
  578. diff -r lib_std/numeric.e /users/prof/colnet/SmallEiffel/lib_std/numeric.elib_std/platform.e /users/prof/colnet/SmallEiffel/lib_std/platform.e
  579. 81c81
  580. <      c_inline_c("R=(CHAR_BIT*sizeof(int));");
  581. ---
  582. >      Result := Character_bits * (true).object_size;
  583. 98c98
  584. <      c_inline_c("R=(CHAR_BIT*sizeof(int));");
  585. ---
  586. >      Result := Character_bits * (1).object_size;
  587. 102c102
  588. ---
  589. >    
  590. 106c106
  591. <      c_inline_c("R=(CHAR_BIT*sizeof(float));");
  592. ---
  593. >      Result := Character_bits * (1.5).object_size;
  594. 115c115
  595. <      c_inline_c("R=(CHAR_BIT*sizeof(double));");
  596. ---
  597. >      Result := Character_bits * (1.5).to_double.object_size;
  598. 122a123,124
  599. >       local
  600. >      p: POINTER;
  601. 124c126
  602. <      c_inline_c("R=(CHAR_BIT*sizeof(char *));");
  603. ---
  604. >      Result := Character_bits * p.object_size;
  605. diff -r lib_std/platform.e /users/prof/colnet/SmallEiffel/lib_std/platform.elib_std/pointer.e /users/prof/colnet/SmallEiffel/lib_std/pointer.e
  606. 23c23
  607. <       redefine print_on
  608. ---
  609. >       redefine fill_tagged_out_memory
  610. 42c42,44
  611. <    print_on(file: STD_FILE_WRITE) is
  612. ---
  613. > feature -- Object Printing :
  614. >    fill_tagged_out_memory is
  615. 44c46
  616. <      file.put_string("POINTER");
  617. ---
  618. >      tagged_out_memory.append("a POINTER");
  619. diff -r lib_std/pointer.e /users/prof/colnet/SmallEiffel/lib_std/pointer.elib_std/real.e /users/prof/colnet/SmallEiffel/lib_std/real.e
  620. 14c14
  621. <      zero, print_on
  622. ---
  623. >      zero, fill_tagged_out_memory
  624. 187c187,189
  625. <    print_on(file: STD_FILE_WRITE) is
  626. ---
  627. > feature -- Object Printing :
  628. >    fill_tagged_out_memory is
  629. 189c191
  630. <      file.put_real(Current);
  631. ---
  632. >      Current.append_in(tagged_out_memory);
  633. 191c193
  634. <    
  635. ---
  636. diff -r lib_std/real.e /users/prof/colnet/SmallEiffel/lib_std/real.elib_std/std_file.e /users/prof/colnet/SmallEiffel/lib_std/std_file.e
  637. 83a84,87
  638. >    fflush(stream_pointer: POINTER): INTEGER is
  639. >       external "C"
  640. >       end;
  641. diff -r lib_std/std_file.e /users/prof/colnet/SmallEiffel/lib_std/std_file.elib_std/std_file_read_write.e /users/prof/colnet/SmallEiffel/lib_std/std_file_read_write.e
  642. 63,68d62
  643. < feature {NONE}
  644. <    
  645. <    fflush(stream_pointer : POINTER): INTEGER is
  646. <       external "C"
  647. <       end;
  648. <    
  649. diff -r lib_std/std_file_read_write.e /users/prof/colnet/SmallEiffel/lib_std/std_file_read_write.elib_std/string.e /users/prof/colnet/SmallEiffel/lib_std/string.e
  650. 13,14c13,14
  651. <      print_on, fill_tagged_out_memory, eval_read_attribute, 
  652. <      eval_write_attribute
  653. ---
  654. >      out_in_tagged_out_memory, fill_tagged_out_memory,
  655. >      eval_read_attribute, eval_write_attribute
  656. 821c821
  657. <    print_on(file: STD_FILE_WRITE) is
  658. ---
  659. >    out_in_tagged_out_memory is
  660. 823,825c823,825
  661. <            tagged_out_memory.clear;
  662. <      fill_tagged_out_memory;
  663. <      file.put_string(tagged_out_memory);
  664. ---
  665. >      tagged_out_memory.extend('%"'); 
  666. >      tagged_out_memory.append(Current); 
  667. >      tagged_out_memory.extend('%"'); 
  668. 830c830,834
  669. <      tagged_out_memory.extend('%"'); 
  670. ---
  671. >      tagged_out_memory.append("count: "); 
  672. >      count.append_in(tagged_out_memory);
  673. >      tagged_out_memory.append("capacity: "); 
  674. >      capacity.append_in(tagged_out_memory);
  675. >      tagged_out_memory.append("storage: %""); 
  676. 950c954
  677. <      remove_last(1);
  678. ---
  679. >      count := count - 1;
  680. 1006c1010
  681. < feature
  682. ---
  683. > feature -- To implement eval :
  684.